Information processing devices usually include a host device that performs an arithmetic process and a storage device that stores data. The host device transmits and receives data to and from the storage device. In such an information processing device, when only one communication path is provided between the host device and the storage device, if a failure occurs in the communication path, a service that the storage device provides to the host device, such as transmission and reception of data may not be continued. The failure in the communication path that causes the service to be interrupted may be, for example, a disorder or malfunction of a cable between the host device and the storage device, a disorder or malfunction of hardware which is an interface on the host device side, or a disorder or malfunction of hardware which is an interface on the storage device side.
Accordingly, resistance to failure has been enhanced by multiplexed communication path (multipath) between the host device and the storage device. By multiplexing the path between the host device and the storage device, even if there is a failure in one communication path, it is possible to avoid interruption of the service that the storage device provides to the host device, by using another path.
In such an information processing device having a configuration of the multiplexed communication path, there is concern that the input/output (I/O) response performance of each communication path viewed from the host device may not be stabilized.
As a technique of duplexed communication path, there is a related technique in the data transmission, that determines a path to pass through based on whether a data size exceeds a setting value or not. Further, there is a related technique that divides and transmits data in accordance with the occupancy ratio of the respective communication paths. In addition, there is a related technique that duplexes a controller and assigns logical volumes corresponding to each controller.
Related techniques are disclosed in, for example, Japanese Laid-open Patent Application No. 2011-100414, Japanese Laid-open Patent Application No. 2012-155479, and Japanese Laid-open Patent Application No. 11-312058.
When a host device accesses a physical disk or a logical disk (hereinafter, simply referred to as a “disk”) included in a storage device using a plurality of communication paths, response times of respective communication paths may be different from each other.
For example, there is a technique of duplexing a communication path by using two connection forms called a straight access and a cross access, as access forms from the host device to the disk. The straight access is communication in which a host device transmits and receives data to and from a disk, by accessing a disk controller for the disk that controls reading and writing of the disk without passing through another disk controller. In contrast, the cross access is communication in which a host device transmits and receives data to and from a disk by accessing a disk controller for the disk through another disk controller. That is, in the case of the cross access, communication between disk controllers is performed in the communication between the host device and the disk.
The response time of the cross access becomes longer than the response time of the straight access. However, the host device may be unaware of whether the access to the disk is the straight access or the cross access. In this case, since the response time varies depending on the communication path used, the host device may determine that the I/O performance of the storage device is not stable. Further, when the response time varies depending on the communication path, a failure may occur depending on applications.
In order to avoid the difference in the response times between the communication paths, the communication paths may be restricted to either one of the straight access and the cross access. In this case, it is possible to deal with a failure in a communication path, but it is not possible to deal with a failure in a controller, and the resistance to failure may be lowered.
In the related technique of determining the path to pass through by using the setting value of the data size or the related technique of determining the path in accordance with the occupancy ratio of the communication path, response times are not taken into consideration, and it is difficult to reduce deterioration of responses due to performance variations among communication paths. In the related technique of assigning a logical volume corresponding to each controller, the communication paths are not basically duplexed, and even if the communication paths are duplexed, response times are not taken into consideration. Therefore, it is difficult to reduce deterioration of responses due to performance variations among communication paths while resistance to failure is maintained.